using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using ZedGraph;
using ZedGraph.Web;
using System.Drawing;
using System.Collections.Generic;

public partial class Overzicht_Student : System.Web.UI.Page
{

    private String Gebruiker;
    private Databank db;
    private AgendaItem[,] klasgegevens;
    private SessionGebruiker sg;
    private int modus;


    protected void Page_Load(object sender, EventArgs e)
    {
        db = Databank.DatabankInstantie;
        Getuserstuff();
        menu();
        MeldingLabel.Visible = false;
        if (!Page.IsPostBack)
        {
            GrafiekDropDownList.Items[0].Selected = true;
        }
        modus = int.Parse(GrafiekDropDownList.SelectedItem.Value);
        LegendeTextbox.ReadOnly = true;
    }

    private void Getuserstuff()
    {

        sg = (SessionGebruiker)Session["login"];
        if (sg != null)
        {
            Gebruiker = sg.Gebruiker;
        }
    }


    private void menu()
    {
        Menu.Items.Clear();
        MenuItem item;
        item = new MenuItem("Mijn Overzicht", "0");
        Menu.Items.Add(item);
        item = new MenuItem("Vergelijking Klas", "1");
        Menu.Items.Add(item);
    }


    private void StudentVergelijkingKlas()
    {
        List<Richting> rlist = new List<Richting>();
        rlist = db.GetGebruikerRichtingen(Gebruiker);
        SelecteerDropDownList.Items.Clear();
        if (rlist.Count == 0)
        {
            MeldingLabel.Visible = true;
            MeldingLabel.Text = "U hebt momenteel nog geen richtingen";
        }
        else
        {
            MeldingLabel.Visible = false;
            List<AgendaItem> agendaItems = new List<AgendaItem>();
            klasgegevens = new AgendaItem[rlist.Count, 50000];
            for (int i = 0; i < rlist.Count; i++)
            {
                agendaItems = db.GetAgendaRichting(rlist[i].Id);
                ListItem litem = new ListItem(rlist[i].Naam, rlist[i].Id.ToString());
                SelecteerDropDownList.Items.Add(litem);
                for (int t = 0; t < agendaItems.Count; t++)
                {
                    klasgegevens[i, t] = new AgendaItem(agendaItems[t].VakId, agendaItems[t].Datum, agendaItems[t].AantalMin, agendaItems[t].IsContactUur);
                }/*next t*/

            }/*next i*/
        }


    }
    
    protected void Menu_MenuItemClick(object sender, MenuEventArgs e)
    {
        int keuze = int.Parse(Menu.SelectedItem.Value.ToString());
        switch (keuze)
        {
            case 0 :
                MultiView1.SetActiveView(View1);
                break;
            case 1 :
                MultiView1.SetActiveView(View2);
                StudentVergelijkingKlas();
                break;
        }
    }
    protected void Grafiek_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        Grafieken gr = new Grafieken(Gebruiker);
        if (modus == 0)
        {
            gr.VergelijkingIkkeKlas(webObject, g, pane, "Vergelijking klas", "Gepresteerde uren", "Vak", klasgegevens, int.Parse(SelecteerDropDownList.SelectedItem.Value.ToString()), LegendeTextbox);
        }
        else
        {
            gr.VergelijkingIkkeKlasLijnen(webObject, g, pane, "Vergelijking klas", "Gepresteerde uren", "Vak", klasgegevens, int.Parse(SelecteerDropDownList.SelectedItem.Value.ToString()), LegendeTextbox);
        }
    }
    protected void Grafiek_RenderGraph2(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        Grafieken gr = new Grafieken(Gebruiker);
        gr.IkkePie(webObject, g, pane, "gepresteerde  uren ", klasgegevens);

    }
    protected void GrafiekDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        
    }
}
